Modern online assessment systems need to generate a plurality of similar, unique questions for multiple students both to reduce the possibility of cheating when students share answers to questions and to provide a basis for student drilling or practicing.
To create the plurality of unique question variants, online assessment systems require that question authors generate a question template from which a plurality of similar, unique question variants can be produced. This question authoring effort can lead to large amounts of programming effort on the part of question authors as well as requiring substantial subject matter expertise. For problems that involve real-world information, this programming task can be even more complicated due to the need for a question template to include a wide variety of real-world data necessary to produce the plurality of unique questions. Previous solutions required a question author to create each question template from scratch. Multiple question templates could not share a common library of code, or a common library of real-world facts and information.
Previous online assessment systems that do not employ templates require a large number of very similar unique static questions, with one similar static question chosen at random to be delivered to a student taking an assessment test. In any case, a question author (who authors question templates or static questions) had to copy and paste a large amount of logic and data between similar static questions or question templates.